package com.yxw.yx_hotel.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxw.yxnet_cd_center.common.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author liuxin
 * @date 2023.0913
 */
@EqualsAndHashCode(callSuper = false)
@Data
@ToString(callSuper=true)
@ApiModel(value="QueryStayReportDto", description="住宿报表查询Dto")
public class QueryStayReportDto extends BaseDTO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "员工姓名")
    private String userName;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "宿舍名称")
    private String roomName;

    @ApiModelProperty(value = "住宿状态  0：待住 1：在住 2：退住 3：取消入住")
    private Integer stauts;

    @ApiModelProperty(value = "员工状态 1：实习 2：正式 3：临时")
    private Integer userState;

    @ApiModelProperty(value="实际入住时间始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stayInTimeStart;

    @ApiModelProperty(value="=实际入住时间止")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stayInTimeEnd;

    @ApiModelProperty(value="实际退住时间始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date realRetreatTimeStart;

    @ApiModelProperty(value="=实际退住时间止")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date realRetreatTimeEnd;

    @JsonIgnore
    @ApiModelProperty(value = "租户ID")
    private Long tenantId;

    @ApiModelProperty(value = "导出标题ID集合")
    private List<Long> titelIdList;
}
